import { defineConfig } from 'vite';
import react from '@vitejs/plugin-react';
import path from 'path';

// https://vitejs.dev/config/
export default defineConfig(({ command }) => {
  // 只在 build 模式下使用相对路径
  const isProduction = command === 'build';
  
  return {
    plugins: [react()],
    optimizeDeps: {
      exclude: ['lucide-react'],
    },
    server: {
      host: '127.0.0.1',
      port: 5172,
      strictPort: true
    },
    base: isProduction ? './' : '/', // dev模式用绝对路径，build模式用相对路径
    build: {
      assetsDir: 'assets',
      outDir: 'dist',
      rollupOptions: {
        output: {
          manualChunks: undefined,
          // 确保资源文件使用相对路径
          assetFileNames: (assetInfo) => {
            if (assetInfo.name && assetInfo.name.endsWith('.css')) {
              return 'assets/[name].[hash].css';
            }
            if (assetInfo.name && assetInfo.name.endsWith('.js')) {
              return 'assets/[name].[hash].js';
            }
            return 'assets/[name].[hash].[ext]';
          }
        }
      },
      // 确保所有资源都能被正确引用
      cssCodeSplit: false,
      sourcemap: false,
      // 强制清空输出目录，避免旧文件残留
      emptyOutDir: true
    }
  };
});
